package com.gonsin.gmessage.logic.proxy;

import com.gonsin.gmessage.annotations.GArgsParam;
import com.google.gson.Gson;

import java.util.Map;

/**
 * 被@GArgs批注的参数的描述
 */
public class ArgsDescribeModel implements IArgsPush{

    /**
     * 实际传输时候的参数名字，对应到args的字段
     */
    private String parameterName;

    /**
     * 所在参数位置
     */
    private int index;

    /**
     * 参数类型
     */
    private Class<?> rowType;

    public ArgsDescribeModel(GArgsParam args, int index, Class<?> rowType) {
        this.parameterName = args.value();
        this.index = index;
        this.rowType = rowType;
    }

    @Override
    public void put(Map<String, Object> args, Object param) {
        args.put(parameterName, param);
    }
}
